(m=a>b)&&(n=c>d)运算后

来源:百度知道 编辑:UC知道 时间:2024/05/13 14:52:52
设 a、b、C、d、m、n均为 int型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值位为
A) 0 B) 1 C)2 D) 3
答案是C,我原来选B,我以为a>b为假,即m=0;c>d为假,n=0;再之后n&&m(0&&0为真)的结果是真,请热心的朋友指正一下

因为a>b为假,所以m=0
当"&&"左边为0时,电脑就不会再算右边了,既n=c>d没有被运算
所以n还是为2。

逻辑与和逻辑或操作符总是先计算其左操作数,然后计算右操作数,只有在仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解其右操作数,就是所谓的“短路求值”
题中左边为假所以不会计算右边。

M && N中,若M为假,则N不被执行;
M||N中,若M为真,则N不被执行。
多看点资料,对你的学习会有很大的帮助,所谓“见多识广”就是见的多了自然知识比较丰富。

只有第一个值是1的时候,第二个表达式才进行运算

这么简单的问题,大哥!!!
好好学习吧.
楼上的回答完全正确.
我只为两分.